iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 16
0
DevOps

Oops Step ( Home lab of a kind ) 系列 第 16

Git Participate in (Git 參上)

  • 分享至 

  • xImage
  •  

想要做git雜碎不難,但是要變成git master就不簡單了。只要學習曹操「用人唯才」,就忍不住說「操! 這真簡單」(今天蔣幹沒來)
找git來用不需上交友網站,可以
1.用github 大家一起交流
2.使用gitlab (Lab裡面很多git),很多參賽選手都有喔
3.安裝git,Gitolite
那要怎樣選,才能博得妹子的眼光呢?真是問到重點

你別天真了,不管怎麼選,重要是你是不是高大帥 ,人家看下面那一包不是程式那一包/images/emoticon/emoticon39.gif

要進行版本管理,回想前面Day 10我將系統內的數據定義為三種

No. 特性 處理方式
1. 可再生的,如OS、AP 記錄再生腳本(git)
2. 獨創需版控的、需備份的 版控(git)與備份(rsync)
3. 中繼可被清除的 Gone with the wind
所謂2.需要版控的意思,就是除了不想重複創造輪子,還希望可以保留修改的紀錄軌跡。而如果只是單純做個狀態記錄,那就做備份就好了。
那舉個例子吧。原始碼當仁不讓,但是再來呢?在架構裡如果Infrastructure as code (IaC)可不可以也用版本管理?當然可以,而且最好就是這樣,順便善用.gitignore
說到.gitignore,舉個例子,這是nginx
icekimo@Bosley:/etc/nginx$ ls
conf.d             koi-win            modules-enabled    nginx.conf.old     win-utf
fastcgi_params     mime.types         naxsi_core.rules   sites-available
koi-utf            modules-available  nginx.conf         sites-enabled
icekimo@Bosley:/etc/nginx$

假設要紀錄版控的只有nginx.conf、sites-available,要怎麼寫.gitignore呢?

.*
*
!nginx.conf
!sites-available/

相信大家冰雪聰明,舉一反三,立刻秒懂如何用git備份主機各種重要設定,那系統還原怎麼辦?/images/emoticon/emoticon06.gif

阿你都用版本控制了還問復原要怎麼做,不如多研究,順便給別人一點掌聲。

那系統災難復原重建怎麼辦?git clone秒下設定檔不就好了嗎?/images/emoticon/emoticon08.gif

後記
早期筆者曾聽一個謠言,某紐約期交所將全部系統塞進git裡面管理,當時心裡激發起一個想法,覺得應該可以更精緻一點,取代原來tar備份方式又可以保留人類可閱讀的歷代差異,這樣才是王道啊。在早期要找出歷代差異,最慘狀況就是把整個tarball解開做diff。然後希望各位看到這裡也覺得,git有時候當備份工具也可以很可靠的。


上一篇
Git , say a little git
下一篇
Xpenology (黑群暉)
系列文
Oops Step ( Home lab of a kind ) 34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言